Relating and Visualising CSP, VCR and Structural Traces
نویسندگان
چکیده
As well as being a useful tool for formal reasoning, a trace can provide insight into a concurrent program’s behaviour, especially for the purposes of run-time analysis and debugging. Long-running programs tend to produce large traces which can be difficult to comprehend and visualise. We examine the relationship between three types of traces (CSP, VCR and Structural), establish an ordering and describe methods for conversion between the trace types. Structural traces preserve the structure of composition and reveal the repetition of individual processes, and are thus well-suited to visualisation. We introduce the Starving Philosophers to motivate the value of Structural traces for reasoning about behaviour not easily predicted from a program’s specification. A remaining challenge is to integrate Structural traces into a more formal setting, such as the Unifying Theories of Programming – however, Structural traces do provide a useful framework for analysing large systems.
منابع مشابه
Focusing on Traces to Link VCR and CSP
View-Centric Reasoning (VCR) replaces CSP’s [1] perfect observer with multiple, possibly imperfect observers. To employ view-centric reasoning within existing CSP models [2] requires a bookkeeping change. Specifically, VCR [3] introduces parallel events as a new primitive for constructing traces, and distinguishes two types of traces: histories and views. Previously, we gave the operational sem...
متن کاملRepresentation and Implementation of CSP and VCR Traces
Communicating Sequential Processes (CSP) was developed around a formal algebra of processes and a semantics based on traces (and failures and divergences). A trace is a record of the events engaged in by a process. Several programming languages use, or have libraries to use, CSP mechanisms to manage their concurrency. Most of these lack the facility to record the trace of a program. A standard ...
متن کاملCompositions of Concurrent Processes
Using the extended model for view-centric reasoning, EVCR, we focus on the many possibilities for concurrent processes to be composed. EVCR is an extension of VCR, both models of true concurrency; VCR is an extension of CSP, which is based on an interleaved semantics for modeling concurrency. VCR, like CSP, utilizes traces of instantaneous events, though VCR permits recording parallel events to...
متن کاملA Unifying Theory of True Concurrency Based on CSP and Lazy Observation
What if the CSP observer were lazy? This paper considers the consequences of altering the behavior of the CSP observer. Specifically, what implications would this new behavior have on CSP’s traces? Laziness turns out to be a useful metaphor. We show how laziness permits transforming CSP into a model of true concurrency (i.e., non-interleaved trace semantics). Furthermore, the notion of a lazy o...
متن کاملView-Centric Reasoning about Space-Based Middleware
Distributed computing systems, including those that utilize space-based middleware, present significant challenges when attempting to reason formally about their behaviors and properties. In particular, two or more computational events may occur in parallel. We introduce View-Centric Reasoning (VCR)—a set of abstractions that comprises a general framework for reasoning about parallel and distri...
متن کامل